package com.zhang.yunfu_norevocation.entity.comm;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

@Data
@NoArgsConstructor
@ApiModel(description = "药品订单list")
public class InquiryDrugOrderListVO {

    @ApiModelProperty("患者姓名")
    private String patientName;

    @ApiModelProperty("性别：1：男，2：女")
    private String patientGender;

    @ApiModelProperty(value = "年龄")
    private Integer patientAge;

    @ApiModelProperty(value = "患者手机号")
    private String patientPhone;

    @ApiModelProperty(value = "患者身份证")
    private String patientIdCard;

    @ApiModelProperty("开单医生姓名")
    private String doctorName;

    @ApiModelProperty("所在科室")
    private String deptName;

    @ApiModelProperty("医院名称")
    private String hospitalName;

    @ApiModelProperty(value = "初步诊断")
    private String preliminaryDiagnose;

    @ApiModelProperty(value = "id")
    private String id;

    @ApiModelProperty(value = "药品订单id")
    private String orderId;

    @ApiModelProperty(value = "医嘱")
    private String doctorAdviceId;
    @ApiModelProperty(value = "接诊时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date receptionTime;

    /**
     * 开方时间
     */
    @ApiModelProperty(value = "开方时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date issuingTime;

    @ApiModelProperty(value = "缴费时间")
    private Date payDate;

    /**
     * 处方类型。1：西药。2：中药
     */
    @ApiModelProperty(value = "处方类型。1：西药。2：中药")
    private Integer prescriptType;

    /**
     * 处方状态。枚举。1：待审核，2：已审核，3：已驳回
     */
    @ApiModelProperty(value = "处方状态。枚举。1：待审核，2：已审核，3：已驳回")
    private String prescriptStatus;

    /**
     * 审核时间
     */
    @ApiModelProperty(value = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date reviewTime;

    @ApiModelProperty(value = "编辑时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date createTime;

    /**
     * 审核医生id
     */
    @ApiModelProperty(value = "审核医生id")
    private String reviewDoctorId;

    @ApiModelProperty(value = "审核医生姓名")
    private String reviewDoctorName;

    @ApiModelProperty(value = "开单医生电子签名")
    private String doctorSignUrl;

    @ApiModelProperty(value = "审核医生电子签名")
    private String reviewDoctorSignUrl;

    @ApiModelProperty(value = "处方金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "处方编号")
    private String prescriptNo;

    @ApiModelProperty(value = "订单单号")
    private String orderNo;

    @ApiModelProperty(value="问诊类型：1-图文问诊，2-电话问诊，3-视频问诊")
    private String inquiryType;

    @ApiModelProperty(value="问诊类型：1-到店自取，2-配送上门")
    private Integer takeMode;

    @ApiModelProperty(value = "药店审批人")
    private String approvePerson;

    @ApiModelProperty(value = "药店审批人ID")
    private String approvePersonId;

    @ApiModelProperty(value = "审批时间")
    private String approveTime;

    @ApiModelProperty(value = "审批理由（拒绝时填）")
    private String approveReason;

    @ApiModelProperty(value = "发药人")
    private String dispensePerson;

    @ApiModelProperty(value = "发药人ID")
    private String dispensePersonId;

    @ApiModelProperty(value = "发药时间")
    private Date dispenseTime;


    @DateTimeFormat
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "退费时间")
    private Date refundTime;
}
